﻿using Gateway.IApplication.BaseInput;
using Gateway.IApplication.Question.Input;
using Gateway.Infrastructure.AutoDI;

namespace Gateway.IApplication.Question;

/// <summary>
/// 试题app
/// </summary>
public interface IQuestionApp : IDependency
{
    /// <summary>
    /// 
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<bool> Add(CreateQuestionInput input);

    /// <summary>
    /// 
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<bool> Update(UpdateQuestionInput input);

    /// <summary>
    /// 
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task<bool> Remove(string id);

    /// <summary>
    /// 
    /// </summary>
    /// <param name="id"></param>
    /// <param name="disbale"></param>
    /// <returns></returns>
    Task<bool> Disable(string id, string disbale);


    /// <summary>
    /// 
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<bool> SetLanguage(UpdateQuestionLanguageInput input);


    /// <summary>
    /// 
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    Task<bool> RemoveLanguage(RemoveInput input);
}